跳到主要内容

Java类描述

重载和重写

重载:同一个类,方法名相同,其它部分不同

重写:父子类,方法名相同,(一同两小一大)相同参数列表,返回值、异常类型,修饰符

接口和抽象类

特性抽象类接口
继承只能继承一个抽象类可以实现多个接口
方法实现可以有已实现的方法和抽象方法方法默认是抽象的,可以有默认方法和静态方法
成员变量可以有实例变量和静态变量只能有常量(public static final
构造方法可以有构造方法不能有构造方法
访问修饰符可以有多种访问修饰符方法默认是 public (Java 9 引入 private)
使用场景适合共享代码,提供基础实现适合表示行为规范,支持多实现
Java 8 接口新特性
CustomInterface.java

interface CustomInterface {

void abstractMethod(); //抽象方法不能是私有的

static void staticMethod() {
privateStaticMethod(); //public静态方法可以调用private静态方法
System.out.println("静态方法被调用");
}

default void defaultMethod() {
privateMethod(); //可以调用接口中的私有方法
privateStaticMethod(); //可以调用接口中的私有静态方法
System.out.println("普通方法被调用");
}

// this only can use java 9 or later version
private void privateMethod() {
System.out.println("private私有方法被调用");
}

// this only can use java 9 or later version
private static void privateStaticMethod() {
System.out.println("private私有静态方法被调用");
}
}
协议
本作品代码部分采用 Apache 2.0协议 进行许可。遵循许可的前提下,你可以自由地对代码进行修改,再发布,可以将代码用作商业用途。但要求你:
  • 署名:在原有代码和衍生代码中,保留原作者署名及代码来源信息。
  • 保留许可证:在原有代码和衍生代码中,保留Apache 2.0协议文件。
本作品文档部分采用 知识共享署名 4.0 国际许可协议 进行许可。遵循许可的前提下,你可以自由地共享,包括在任何媒介上以任何形式复制、发行本作品,亦可以自由地演绎、修改、转换或以本作品为基础进行二次创作。但要求你:
  • 署名:应在使用本文档的全部或部分内容时候,注明原作者及来源信息。
  • 非商业性使用:不得用于商业出版或其他任何带有商业性质的行为。如需商业使用,请联系作者。
  • 相同方式共享的条件:在本文档基础上演绎、修改的作品,应当继续以知识共享署名 4.0国际许可协议进行许可。